Multi-streaming Solid State Drives (SSDs) allow smart placement of incoming data to minimize the effect of internal garbage collection (GC) and to reduce write amplification. Multi-streaming may be achieved by adding a simple tag (a stream ID) to each of the write requests sent from the host to the SSD. Based on this tag, the SSD may group data into common blocks.
In large computer systems, applications may open many files simultaneously. Ideally, each file type should have its own stream ID assigned when performing stream writes. However, SSDs only support a limited number of active write streams to be available at one time, which often it is not enough to cover all files opened by the system.
A need remains for a way to manage mapping streams from the host machine to the SSD.